package main

import "fmt"

// main 是程序的入口点。
func main() {
	function1()
}

// function1 是由 main 函数调用的第一个函数。
// 它演示了如何使用 defer 延迟执行一个函数。
func function1() {
	fmt.Printf("In function1 at the top\n")
	// 使用 defer 调度 function2 在 function1 结束时执行。
	defer function2()
	fmt.Printf("In function1 at the bottom\n")
}

// function2 是由 defer 在 function1 中调度的函数。
// 当调用它的函数即将结束时，它会打印一条消息。
func function2() {
	fmt.Printf("Function2: Deferred until the end of the calling function!")
}
